SQL语句having max()的错误案例 | 您所在的位置:网站首页 › sql having › SQL语句having max()的错误案例 |
select deptno,avg(sal) t
from emp
GROUP BY DEPTNO
查询结果正常: 但是对上述查询字段进行having条件之后不能结果为null select deptno,avg(sal) t from emp GROUP BY DEPTNO having max(t)结果: 原因:聚合函数嵌套 解释:去掉别名 select deptno,avg(sal) from emp GROUP BY DEPTNO having max(avg(sal)) 结果报错: Invalid use of group function(组函数的使用无效)而如下查询为子查询,不属于聚合函数嵌套 select dept.dname,t.deptno,t.sal from dept JOIN (select deptno,avg(sal)sal from emp group by deptno) t on dept.deptno = t.deptno having max(sal)max括号内的sal为子表的列,非聚合函数 此外,where,聚合函数,having的执行顺序为where>聚合函数>having |
CopyRight 2018-2019 实验室设备网 版权所有 |